package com.siao.mvc.core
{
	import flash.events.IEventDispatcher;
	
	/**
	 * 消息接口
	 * @author SiaoLeon
	 */
	public interface INotice extends IEventDispatcher
	{
		/**
		 * 消息派发器
		 */
		function get notifier():INotifier;
		
		/**
		 * 注册对象
		 */
		function get method():Object;
		
		/**
		 * 队列标识，当该属性不为 null 时，将消息放入该标识的队列，当本消息之前无其他消息等待处理时，再通知所有观察者进行处理
		 */
		function get queue():Object;
		
		/**
		 * 是否为阻塞模式，依据观察者优先级由高到低依次通知观察者处理，前一优先级观察者未处理完成时不通知下一优先级观察者处理本消息
		 */
		function get isBlock():Boolean;
		
		/**
		 * 附带参数对象
		 */
		function get params():*;
		
		/**
		 * 消息结果
		 */
		function get result():Object;
		
		/**
		 * 消息结果
		 */
		function set result(value:Object):void;
		
		/**
		 * 完成方法
		 */
		function complete():void;
	
	}
}
